<html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:h="http://java.sun.com/jsf/html"  
      xmlns:f="http://java.sun.com/jsf/core"  
      xmlns:p="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets"> 

    <ui:composition template="../index.xhtml">
        <ui:define name="conteudo">
            <h:form id="tituloPagina">
                <h:outputText value="Cadastro de grupos / sub-grupos"/>
            </h:form>
            <p:tabView id="tabView">  
                <p:tab id="tab1" title="Grupos">  
                    <h:form id="formPesquisa">
                        <p:growl/>
                        <p:dataTable id="listContasPagar" var="forn" value="#{grupoControler.listGrupos}" widgetVar="carsTableAtivos" style="width: 30%;"
                                     rowKey="#{forn.id}" selectionMode="single"  emptyMessage="Nenhum registro foi encontrado!" paginator="true" rows="10" rowsPerPageTemplate="5,10,15,#{grupoControler.listGrupos.size()}">
                            <f:facet name="header" >  
                                <p:outputPanel>  
                                    <h:outputText value="Digite para pesquisar " />
                                    <p:inputText id="globalFilter" onkeyup="carsTableAtivos.filter()" style="width:150px" /> 
                                    <p:commandButton value="Novo" accesskey="N" onclick="dlggrupo.show()" action="#{grupoControler.inicializaObj()}" update=":formAdd"/>
                                </p:outputPanel>  
                            </f:facet> 
                            <p:column headerText="Ações" footerText="Ações" filterMatchMode="Ações" style="width: 60px;">  
                                <p:commandButton action="#{grupoControler.setGrupo(forn)}" onclick="dlggrupo.show();" update=":formAdd"
                                                 image="ui-icon ui-icon-pencil" title="alterar"/>
                                <p:commandButton image="ui-icon ui-icon-close" title="excluir" 
                                                 actionListener="#{grupoControler.setGrupo(forn)}" onclick="confirmationExcluirgrupo.show();"/>
                            </p:column>
                            <p:column filterBy="${forn.descricao}" headerText="Nome" footerText="Nome" sortBy="#${forn.descricao}">    
                                <h:outputText value="${forn.descricao}" />  
                            </p:column>  
                        </p:dataTable>
                        <!-- confirmações  de exclusão GRUPO-->
                        <p:confirmDialog id="confirmDialog" message="Confirma excluir este grupo?" appendToBody="true"
                                         header="Atenção!!!" severity="alert" widgetVar="confirmationExcluirgrupo" >  
                            <p:commandButton id="confirm" value="Sim" oncomplete="confirmationExcluirgrupo.hide()"  
                                             actionListener="#{grupoControler.excluir()}" update="@form" onclick="statusDialog.show();" onsuccess="statusDialog.hide();"/>  
                            <p:commandButton id="decline" value="Cancelar" onclick="confirmationExcluirgrupo.hide()" type="button" />   
                        </p:confirmDialog>
                    </h:form>
                </p:tab>
                <p:tab title="Sub-Grupos" id="subGrupos">
                    <ui:include src="../subgrupo/subgrupo.xhtml"/>
                </p:tab>
            </p:tabView>
            <p:dialog id="dialogGrupo" header="Novo grupo" widgetVar="dlggrupo" modal="true" resizable="false" appendToBody="true">  
                <h:form id="formAdd">
                    <p:messages/>
                    <h:inputHidden value="#{grupoControler.grupo.id}"/>
                    <h:panelGrid columns="2">
                        <h:outputText value="Código"/>
                        <p:inputText value="#{grupoControler.grupo.id}" disabled="true" size="5"/>

                        <h:outputText value="Descrição"/>
                        <p:inputText value="#{grupoControler.grupo.descricao}" disabled="#{grupoControler.grupo.descricao.equalsIgnoreCase('Diversos')}" required="true" requiredMessage="Informe a descrição do grupo!!" size="50" id="inputDescr">
                            <p:focus for="inputDescr"/>
                        </p:inputText>
                    </h:panelGrid>
                    <h:panelGrid columns="3">
                        <p:commandButton value="Salvar" action="#{grupoControler.salvar()}" update="@form :tabView" onclick="statusDialog.show();" onsuccess="statusDialog.hide();"/>
                        <p:commandButton value="Novo" accesskey="N" update="@form" action="#{grupoControler.inicializaObj()}" process="@this"/>
                        <p:commandButton value="Cancelar" onclick="dlggrupo.hide()" process="@this"/>
                    </h:panelGrid>
                </h:form>
            </p:dialog>

            <p:dialog id="dialogSubGrupo" header="Novo Sub-Grupo" widgetVar="dlgsubgrupo" modal="true" resizable="false" appendToBody="true">  
                <h:form id="formAddSubGrupo">
                    <p:messages/>
                    <h:inputHidden value="#{subGrupoControler.subgrupo.id}"/>
                    <h:panelGrid columns="2">
                        <h:outputText value="Código"/>
                        <p:inputText value="#{subGrupoControler.subgrupo.id}" disabled="true" size="5"/>

                        <h:outputText value="Descrição"/>
                        <p:inputText value="#{subGrupoControler.subgrupo.descricao}" disabled="#{subGrupoControler.subgrupo.descricao.equalsIgnoreCase('Diversos')}" required="true" requiredMessage="Informe a descrição do grupo!!" size="50">
                            <p:focus/>
                        </p:inputText>
                        <h:outputText value="Grupo:"/>
                        <p:selectOneMenu value="#{subGrupoControler.subgrupo.idGrupo.id}" disabled="#{subGrupoControler.subgrupo.descricao.equalsIgnoreCase('Diversos')}">  
                            <f:selectItems value="#{grupoControler.listGrupos}" var="sit" itemValue="#{sit.id}" itemLabel="#{sit.descricao}"/> 
                        </p:selectOneMenu>
                    </h:panelGrid>
                    <h:panelGrid columns="3">
                        <p:commandButton value="Salvar" action="#{subGrupoControler.salvar()}" update="@form :tabView" onclick="statusDialog.show();" onsuccess="statusDialog.hide();"/>
                        <p:commandButton value="Novo" accesskey="N" update="@form" action="#{subGrupoControler.inicializaObj()}" process="@this"/>
                        <p:commandButton value="Cancelar" onclick="dlgsubgrupo.hide()" process="@this"/>
                    </h:panelGrid>
                </h:form>
            </p:dialog>
        </ui:define>
    </ui:composition>
</html>